package org.erp.procurement.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.erp.common.page.PageQueryModel;
import org.erp.procurement.entity.OrderProductDetails;
import org.erp.procurement.entity.bo.OrderProductDetailsAddBo;
import org.erp.procurement.entity.bo.OrderProductDetailsUpdateBo;
import org.erp.procurement.entity.dto.OrderProductDetailsQueryDto;
import org.erp.procurement.entity.dto.OrderProductDetailsUnPushStockDto;
import org.erp.procurement.entity.vo.OrderProductDetailsVo;

import java.util.List;

/**
 * 订单产品详情服务层
 *
 * @author libin
 * @version 1.0
 * @description: 订单产品详情服务层
 * @date 2025/11/5 17:04
 **/
public interface OrderProductDetailsService extends IService<OrderProductDetails> {
    PageQueryModel<OrderProductDetailsVo> pageList(OrderProductDetailsQueryDto orderProductDetailsQueryDto);

    List<OrderProductDetailsVo> findByOrderNo(String orderNo);

    void buildParam(OrderProductDetailsAddBo orderProductDetailsAddBo, OrderProductDetails orderProductDetails);

    List<OrderProductDetails> buildOrderProductDetailsList(List<OrderProductDetailsAddBo> orderProductDetailsAddBoList, String orderNo);

    void updateAmount(OrderProductDetailsUpdateBo orderProductDetailsUpdateBo);

    PageQueryModel<OrderProductDetailsVo> findUnPushStock(OrderProductDetailsUnPushStockDto orderProductDetailsUnPushStockDto);
}
